var foo = "hello";
foo = 123;
/*
unknown类型默认情况下在上面进行任意的操作都是非法的，要求必须进行类型的校验(类型缩小)才能根据类型缩小之后的类型进行对应的操作
unknown类型是typescript中比较特殊的一种类型，它用于描述不确定的变量，和any类型有点类型，但是unknown类型的值上做任何事情都是非法的
*/
if (typeof foo === "string") { // 类型缩小
    console.log(foo.length);
}
function fun1() {
    return "fun1";
}
function fun2() {
    return 1314520;
}
var flag = true;
var result;
if (flag) {
    result = fun1();
}
else {
    result = fun2();
}
if (typeof result === "string") {
    console.log(result.length);
}
if (typeof result === "number") {
    console.log(result.toFixed(3));
}
